package com.hrsystem.mapper;

import com.hrsystem.entity.PersonalData;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface PersonalDataMapper {

//    PersonalData getIntoancestors(@Param("name") String name, @Param("adminId") Integer adminId);

    /**
     * 根据id查出个人信息
     * @param id
     * @return
     */
    PersonalData getPersonalDatapID(@Param("id") Integer id);

    /**
     * 根据丈夫或妻子id查出配偶信息
     * @param id
     * @return
     */
    PersonalData getPersonalDataSpouseID(Integer id);

    /**
     * 根据id更新个人信息(查阅族谱时)
     * @param peersonalData
     * @return
     */
    int getUpdatePersonalDatapID(PersonalData peersonalData);

    /**
     * 根据id更新个人信息(管理族谱时)
     * @param personalData
     * @return
     */
    int getUpdatePersonManage(PersonalData personalData);

    /**
     * 删除族员
     * @param personalData
     * @return
     */
    int getDeletePersonManage(PersonalData personalData);




    /**
     * 查家族第一代人
     * @param adminId
     * @return
     */
    List<PersonalData> getAllSuperBoss(Integer adminId);


    /**
     * 所有子代
     * @param fatherId
     * @return
     */
    List<PersonalData> getChildren(Integer fatherId);

    /**
     * 子代跟配偶
     * @return
     */
    List<PersonalData>  getChildrenSpouse(@Param("fatherId") Integer fatherId, @Param("spouseId") Integer spouseIdId);

    /**
     * 根据父代id添加子代
     * @param peersonalData
     * @return
     */
    int getIntoChildren(PersonalData peersonalData);


    /**
     * 根据父代id添加配偶
     * @param peersonalData
     * @return
     */
    int getIntoSpouseId(PersonalData peersonalData);


    int getIntoSouseIdF(PersonalData peersonalData);

    /**
     * 所有数据
     * @return
     */
    List<PersonalData> getAll();

    int getIntoancestors(PersonalData personalData);
}
